This file lists the changes in each version from the previous release. Note: I found all the bugs myself. Is anybody out there? Talk to me! V 2.12 1. A problem occurred when a variable name was a fractional part of another variable name. The shorter name was used in lines with indirect addressing when it was before the longer name in the program. (fixed) 2. Square brackets were added to the equate "rules" decided upon in Version 2.11 below, so an equate can work inside square brackets again. 3. An error occurred when a label was a fractional part of a direct address reference. (fixed) * * * V 2.11 1. A problem occurred when an equate was a fractional part of a variable name. Now replacement of the equated item does not occur unless there is a space, a comma, or nothing in the spaces immediately to the left and right of the equated item. For example, no change will occur in the second line below: DISK EQU [2C] MOV DISK1,AX * * * V 2.1 1. A string to be printed out would not print anything after a semicolon (;). (fixed) 2. A string to be printed out with printed quotes containing a number would not print correctly. (fixed) 3. MAX now handles converting multiple ascii characters to their HEX codes instead of just one. Example: mov ax,'az' ; ok now 4. The assembly process is more visible on the screen, with the name of the created file printed out at the end. The speed of some subroutines was improved. 5. MAX now tolerates spaces after the label colon, and after a comma, for better compatibility with existing code and programmer's style. 6. An EQUate that contained the letters EQU resulted in an error message like: "Illegal Function Call In line ...". (fixed) 7. Segment overrides had to be behind a label unless they were on a separate line. They showed up on the label list if put on a separate line (still). Now they can be used without a label. 8. A colon could not be used in non-db quotes. Now it can. 9. You can now use a colon after a variable name (DB & DW lines). If I made the mistake, somebody else did too! 10. The JMP instruction was unintentionally limited to a range of 3837 bytes (FFFh). Now it's FFFFh as DEBUG allowed. 11. Some code could result in an endless loop of pumping thru DEBUG. I believe it's fixed. Please tell me if not! 12. There was a flaw in the word estimator. It resulted in short jump errors (jz,jnz etc.) after a large chunk of word data (DW xxxx DUP (0)). (fixed) 13. The address estimator was improved to lower the number of times some files get pumped through DEBUG, and hence speed up the assembly process. 14. DB strings that contained (=) were interpreted as equates and deleted. (fixed) 15. MAX now handles 68 math coprocessor instructions (registered version only). 16. There were bad and obsolete examples in the .DOC file (sorry). It was improved and expanded, and the files 8088.max, 8087.max, and tutor.txt were added. The example files were updated. * * * V 2.0 1. EQUates now work on any part of a line (you can have multiple EQUates on one line). This required a major reorganization of the software. 2. An EQUate with the same name as a label caused results that were unpredictable. (fixed) 3. "Short jump" errors were reduced. (Files with a lot of DBs may not have assembled). Errors showed up on the short jump instructions like JNZ. 4. You can now print out quotation marks in your text. Use double quotes around text with single quotes, and single quotes around text with double quotes. 5. Colors were strange after exiting MAX. (fixed) 6. There was a problem with DB strings that contained a word the same as a label, and a [. (fixed) 7. The label list contained EQUates that were not used anywhere in the code. (ok now) 8. Assemble times were reduced. See the DOC file for details. 9. The maximum number of lines of code was increased from 810 to 970. The maximum number of labels & names is 200. 10. The Decimal to HEX converter now works on all of the line, so label references with numbers in them don't need H at the end. 11. Spaces are now allowed in place of commas in DB lines for compatibility with other assemblers. 12. The DOC file and example files were updated. * * * V 1.1 1. Prints in color after INCLUDE and prints errors in red. 2. Lowercase was not converted to uppercase after a DB string. (fixed) 3. All consecutive spaces except one were deleted in a DB string. (fixed) 4. Ascii characters 60 to 64 can now be used in an EQUate or label. 5. The tab character (ascii 9) can now be used in place of spaces. 6. Source code files with less than a 3 letter extension caused an object file with a wrong name to be created. (fixed) 7. You can now have as many EQUates as you want. Version 1.0 was limited to 15. 8. Now works with programs that prevent overwrite of files (such as 4DOS). 9. MAX now handles 810 lines. The BRUN20.EXE program is no longer needed. 10. The documentation and example programs are updated.